백준 문제 풀이 BAEKJOON 2805 나무 자르기 🏸문제 💊풀이 이진 탐색 구현 이진 탐색이 end와 start 위치가 서로 바뀔 때까지 계속해서 진행하고 서로 위치가 바뀌었다면 그때 나무 자르는 높이른 반환하면 된다. 📌코드 🛀결과 이진 탐색 구현할 수 있어? 라고 묻는 문제이다. 결과적으로 이진 탐색만 구현한다면 쉽게 해결은 가능하다. 다만 정답을 어떤 것을 리턴해야하는지는 약간의 고민이 필요하다.... 백준 문제 풀이이진 탐색백준 문제 풀이 BAEKJOON 7568 덩치 🏸문제 💊풀이 브루트 포스를 이용한 풀이 초기값을 1로 설정해줌 나보다 큰 값이 나오면 초기값에 +1을 해준다 📌코드 🛀결과 전부 다 순회하면서 탐색하면 된다. 항상 문제를 보고 브루트 포스 방식으로 풀 수 있을 것 같은 문제들도 완전 탐색이 비효율적이라는 생각에 꺼려지곤 한다. 그렇기에 문제를 처음 봤을 때 주어지는 입력값의 크기, 메모리 사용량을 예상하여 계산하여 시간 복잡도와 공간 복잡... 백준 문제 풀이백준 문제 풀이 BAEKJOON 2748 피보나치 수2 문제 풀이 피보나치 수열은 재귀 호출을 통해 풀 수 있는 대표적인 예제이다. 하지만 원하는 값이 클 경우 재귀는 매우 비효율적이다. 따라서 기존에 계산한 값을 다시 사용하여 시간을 엄청나게 단축시키는 dp를 사용하면 매우 효율적으로 풀 수 있다. 해당 문제는 dp를 top-down 방식과 bottom-up 방식 두 가지로 풀어보았다. 먼저 dp에 초기값을 설정해준 후 n번 째 숫자까지 순차적... 백준 문제 풀이백준 문제 풀이 BAEKJOON 16562 친구비 문제 풀이 친구 수만큼 순회를 돌면서 해당 친구의 간선 정보를 바탕으로 친구를 사귀는 최솟값을 구한 후 기존 값보다 작으면 업데이트 한다. 이후 간선에서 만나지 못한 친구들의 비용을 각각 더해주어 총 친구비가 주어진 한계 금액(K) 보다 높다면 친구를 사귈 수 없음으로 Oh no를 프린트한다. 코드 결과 풀면서 울고 싶었다.. 준석이가 정말 친구가 필요할까? 어쨋든.. 엄청나게 돌아가서 풀었... 백준 문제 풀이백준 문제 풀이 BAEKJOON 4153 직각삼각형 문제 풀이 대각선을 굳이 찾지 않고 가장 큰 값을 찾아서 모든 수들의 제곱 합에서 가장 큰 수의 제곱을 뺀 것과 가장 큰 수의 제곱을 비교 코드 결과 테스트 케이스만 보고 혹시나 하면서 대각선의 위치가 고정된 위치로 주워지나 해서 그냥 해보았을 떄 실패하였다. 따라서 가장 큰 값을 고려해주어서 다시 접근하여 맞았다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 14502 치킨 배달 문제 풀이 1부터 M 까지로 구성할 수 있는 치킨집의 경우의 수를 모두 구하기 해당 경우의 수가 구해질 때마다 치킨집과 가정집의 거리를 구해서 최솟값으로 갱신 코드 결과 조합을 이용한다면 쉽게 풀 수 있는 문제였다. 구현도 그리 까다롭지 않아서 쉽게 풀었다고 생각한다. 다만 모든 경우를 전부 고려하다보니 시간이 살짝 아쉬운 것 같다. 백트래킹을 어떻게 하면 할 수 있을지 고민하면 좋겠다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 10250 ACM 호텔 문제 풀이 호를 출력하기 위해 나머지와 몫을 이용한다. 코드 결과 처음에는 사람 수가 층의 높이로 완전히 나누어 떨어지는 경우를 고려하지 않았다. 해당 부분만 고려하면 쉽게 풀 수 있는 문제이다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 1654 랜선 자르기 문제 풀이 이진 탐색을 하지 않으면 시간 초과를 피할 수 없는 문제이다. 주어진 N값과 동일 할 때까지 최대한 이진 탐색을 진행해서 mid 값을 출력하면 된다. 코드 결과 처음에 문제를 풀었을 때는 이진 탐색 알고리즘에 대해 알지 못하여서 그리드한 방식으로 접근하였다. 그러다보니 숫자 커지면 탐색의 수가 너무 많아져서 시간 초과가 발생하였다. 후에 알고리즘에 대해 어느정도 공부한 후에는 이진... 백준 문제 풀이백준 문제 풀이 BAEKJOON 1874 스택 수열 문제 풀이 주어지는 input의 범위가 굉장히 크기 때문에 재귀 호출을 통해서 포함 또는 불포함 여부로 구해내는 것은 시간 초과가 발생할 가능성이 굉장히 높다. 따라서 그리드한 방식으로 하나씩 추가해가며 주어진 수와 비교하고 하나씩 stack에서 값을 빼며 주어진 값과 비교하는 방식이 효율적이라고 생각했다. 코드 결과 제출은 한 번에 통과했지만 시간이 아슬아슬 했다. 실제 코드 채점 시간이 ... 백준 문제 풀이백준 문제 풀이
BAEKJOON 2805 나무 자르기 🏸문제 💊풀이 이진 탐색 구현 이진 탐색이 end와 start 위치가 서로 바뀔 때까지 계속해서 진행하고 서로 위치가 바뀌었다면 그때 나무 자르는 높이른 반환하면 된다. 📌코드 🛀결과 이진 탐색 구현할 수 있어? 라고 묻는 문제이다. 결과적으로 이진 탐색만 구현한다면 쉽게 해결은 가능하다. 다만 정답을 어떤 것을 리턴해야하는지는 약간의 고민이 필요하다.... 백준 문제 풀이이진 탐색백준 문제 풀이 BAEKJOON 7568 덩치 🏸문제 💊풀이 브루트 포스를 이용한 풀이 초기값을 1로 설정해줌 나보다 큰 값이 나오면 초기값에 +1을 해준다 📌코드 🛀결과 전부 다 순회하면서 탐색하면 된다. 항상 문제를 보고 브루트 포스 방식으로 풀 수 있을 것 같은 문제들도 완전 탐색이 비효율적이라는 생각에 꺼려지곤 한다. 그렇기에 문제를 처음 봤을 때 주어지는 입력값의 크기, 메모리 사용량을 예상하여 계산하여 시간 복잡도와 공간 복잡... 백준 문제 풀이백준 문제 풀이 BAEKJOON 2748 피보나치 수2 문제 풀이 피보나치 수열은 재귀 호출을 통해 풀 수 있는 대표적인 예제이다. 하지만 원하는 값이 클 경우 재귀는 매우 비효율적이다. 따라서 기존에 계산한 값을 다시 사용하여 시간을 엄청나게 단축시키는 dp를 사용하면 매우 효율적으로 풀 수 있다. 해당 문제는 dp를 top-down 방식과 bottom-up 방식 두 가지로 풀어보았다. 먼저 dp에 초기값을 설정해준 후 n번 째 숫자까지 순차적... 백준 문제 풀이백준 문제 풀이 BAEKJOON 16562 친구비 문제 풀이 친구 수만큼 순회를 돌면서 해당 친구의 간선 정보를 바탕으로 친구를 사귀는 최솟값을 구한 후 기존 값보다 작으면 업데이트 한다. 이후 간선에서 만나지 못한 친구들의 비용을 각각 더해주어 총 친구비가 주어진 한계 금액(K) 보다 높다면 친구를 사귈 수 없음으로 Oh no를 프린트한다. 코드 결과 풀면서 울고 싶었다.. 준석이가 정말 친구가 필요할까? 어쨋든.. 엄청나게 돌아가서 풀었... 백준 문제 풀이백준 문제 풀이 BAEKJOON 4153 직각삼각형 문제 풀이 대각선을 굳이 찾지 않고 가장 큰 값을 찾아서 모든 수들의 제곱 합에서 가장 큰 수의 제곱을 뺀 것과 가장 큰 수의 제곱을 비교 코드 결과 테스트 케이스만 보고 혹시나 하면서 대각선의 위치가 고정된 위치로 주워지나 해서 그냥 해보았을 떄 실패하였다. 따라서 가장 큰 값을 고려해주어서 다시 접근하여 맞았다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 14502 치킨 배달 문제 풀이 1부터 M 까지로 구성할 수 있는 치킨집의 경우의 수를 모두 구하기 해당 경우의 수가 구해질 때마다 치킨집과 가정집의 거리를 구해서 최솟값으로 갱신 코드 결과 조합을 이용한다면 쉽게 풀 수 있는 문제였다. 구현도 그리 까다롭지 않아서 쉽게 풀었다고 생각한다. 다만 모든 경우를 전부 고려하다보니 시간이 살짝 아쉬운 것 같다. 백트래킹을 어떻게 하면 할 수 있을지 고민하면 좋겠다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 10250 ACM 호텔 문제 풀이 호를 출력하기 위해 나머지와 몫을 이용한다. 코드 결과 처음에는 사람 수가 층의 높이로 완전히 나누어 떨어지는 경우를 고려하지 않았다. 해당 부분만 고려하면 쉽게 풀 수 있는 문제이다.... 백준 문제 풀이백준 문제 풀이 BAEKJOON 1654 랜선 자르기 문제 풀이 이진 탐색을 하지 않으면 시간 초과를 피할 수 없는 문제이다. 주어진 N값과 동일 할 때까지 최대한 이진 탐색을 진행해서 mid 값을 출력하면 된다. 코드 결과 처음에 문제를 풀었을 때는 이진 탐색 알고리즘에 대해 알지 못하여서 그리드한 방식으로 접근하였다. 그러다보니 숫자 커지면 탐색의 수가 너무 많아져서 시간 초과가 발생하였다. 후에 알고리즘에 대해 어느정도 공부한 후에는 이진... 백준 문제 풀이백준 문제 풀이 BAEKJOON 1874 스택 수열 문제 풀이 주어지는 input의 범위가 굉장히 크기 때문에 재귀 호출을 통해서 포함 또는 불포함 여부로 구해내는 것은 시간 초과가 발생할 가능성이 굉장히 높다. 따라서 그리드한 방식으로 하나씩 추가해가며 주어진 수와 비교하고 하나씩 stack에서 값을 빼며 주어진 값과 비교하는 방식이 효율적이라고 생각했다. 코드 결과 제출은 한 번에 통과했지만 시간이 아슬아슬 했다. 실제 코드 채점 시간이 ... 백준 문제 풀이백준 문제 풀이